package calUtils

var addChar byte = '+'
var subChar byte = '-'
var multiChar byte = '*'
var divChar byte = '/'
var modChar byte = '%'

// Cal 大写外部使用
func Cal(a int, b int, op byte) (c int) {
	switch op {
	case addChar:
		return add(a, b)
	case subChar:
		return sub(a, b)
	case multiChar:
		return multi(a, b)
	case divChar:
		return div(a, b)
	case modChar:
		return mod(a, b)
	default:
		panic("符号错误")
	}
}

// add 小写内部使用
func add(a int, b int) (c int) {
	return a + b

}

// sub 小写内部使用 一个返回值，可以省略形参名
func sub(a int, b int) int {
	return a - b
}

// multi 小写内部使用 一个返回值，可以省略形参名
func multi(a int, b int) int {
	return a * b
}

// div 小写内部使用 一个返回值，可以省略形参名
func div(a int, b int) int {
	return a / b
}

// mod 小写内部使用 一个返回值，可以省略形参名
func mod(a int, b int) int {
	return a % b
}
